<?php
final class helpers
{
  
  public static function getPageUrl()
  {
      $pageURL = 'http';

      if( isset($_SERVER["HTTPS"]) )
      {
              if ($_SERVER["HTTPS"] == "on")
              {
                $pageURL .= "s";                  
              }
      }
      $pageURL .= "://";

      if ($_SERVER["SERVER_PORT"] != "80")
      {
        $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
      }
      else
      {
        $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
      }

      return $pageURL;
  }
  
  public static function getPageId()
  {
    $pageID = url_to_postid(self::getPageUrl());    
    
    /*
     * FIXIT: bardzo paskudny workaround! Niestety nie działa ani is_home() ani is_front_page(), a url_to_postid() zwraca 0 jesli jest główną stroną. 
     * W dodatku is_home() zwraca true jezeli jest strona z wpisami! Trzeba przemyśleć, bo może być z tym problem - jeszcze nie wiem jaki :)
     */
    if($pageID === 0 && !is_home())
    {
      $pageID = get_option('page_on_front');
    }
    
    return $pageID;
  }
  
  public static function getPagesFromParams($params = array())
  {   
    $wpQuery = new WP_Query();

    return $wpQuery->query($params);
  }  

}
?>